Various electronic devices such as smart phones or tablet Personal Computers (PCs) can play a multimedia content by downloading or streaming it such as video from a content server. The downloading commences the play after the electronic device downloads the whole multimedia content, and the streaming seamlessly plays the content in order while the electronic device receives part of the content.
Real-Time Streaming Protocol (RTSP), which is a streaming protocol, establishes a session when a server and a client are connected. The session is used to maintain the play of the client. The session changes its state according to a client's command, for example, play start, pause, and stop. During the session, the server sends packet-based media data and the server controls packet flow in an appropriate amount according to a play speed.
A progressive download begins the playback while receiving part of a media file. To move to the point not received yet, the client should support Hypertext Transfer Protocol (HTTP) 1.1 spec. The server manages the status of the client in the RTSP, whereas the server does not manage the status of the client in the HTTP where one request is processed in an independent one-time session.
A HTTP adaptive streaming combines the typical streaming and the HTTP download. For example, the content is divided into segments and each segment is transmitted as a data transmission unit using the HTTP. Since the HTTP adaptive streaming does not need to maintain the streaming session, it facilitates implementation and reduces load on the server. Further, the HTTP adaptive streaming is free from a firewall or a router, can use an infrastructure for the HTTP, for example, a proxy or a cache, and can dynamically send the adequate segment according to a network condition.
The HTTP adaptive streaming includes, for example, HTTP Live Streaming of Apple Inc., Smooth Streaming of Microsoft Inc., HTTP Dynamic Streaming of Adobe Inc., and Dynamic Adaptive Streaming over HTTP (DASH) of International Organization for Standardization (ISO) standard. For example, Moving Picture Experts Group (MPEG)-DASH of the HTTP Adaptive Streaming published as ISO/IEC 23009-1 can combine audio and video in a single file like the HTTP Live Streaming, or separate the audio and the video in respective files like the Smooth Streaming.
The MPEG-DASH partitions the multimedia content such as video into segments and sends the segments at various bit rates. For example, the client requests the server in every segment to send the segment of a particular bit rate adequate for the network condition by executing a Rate Determinate Algorithm (RDA), and the server sends the segment of the requested bit rate to the client. However, when the network condition between the client and the server abruptly changes, for example, when a network bandwidth becomes narrow, the streaming time of the corresponding segment is extended. As a result, the video play screen displayed in the client is subject to the buffering or the freeze.